package pers.brozen.anka.support.wechat.annotations;


import pers.brozen.anka.support.wechat.ApiDataFormat;
import pers.brozen.anka.support.wechat.ApiRequestMethod;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 微信API
 *
 * @author Brozen
 * @date 2019/10/22 11:24 AM
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface WeChatApi {

    // 请求地址
    String value() default "";

    // 请求地址，value与url同时设置则以value为准
    String url() default "";

    // 请求方式
    ApiRequestMethod method() default ApiRequestMethod.GET;

    // 请求参数是否有序，如果有序则WeChatApiField必须指定sort，否则参数顺序不可预估
    boolean sorted() default false;

    // POST参数组织方式，只在method=post时有效
    ApiDataFormat bodyFormat() default ApiDataFormat.XML;

    // 返回数据的组织方式
    ApiDataFormat responseFormat() default ApiDataFormat.XML;

}
